package hotel.meituan.oversea.biz.service;

import hotel.base.oversea.utils.Result;
import hotel.base.oversea.vo.meituan.MtHotelOrderJobDealVo;
import hotel.base.oversea.vo.meituan.request.order.MtHotelOrderCheckParamVo;
import hotel.base.oversea.vo.meituan.response.order.MtHotelOrderCheckPricesVo;
import hotel.base.oversea.vo.meituan.response.order.MtHotelOrderCheckVo;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * 美团酒店定时器订单处理
 */
@Service
public interface MtHotelOrderDealService {
    void saveDelayLog(String swOrderId, Integer parentType, String parentDetail, Integer type, String detail, String mtHotelId,
                      String mtGoodsId, String mtCheckinDate, String mtCheckoutDate, Integer mtRoomNum, Integer swTotalPrice, String remark);

    void updateOrderPoolBookingSuccess(MtHotelOrderCheckVo mtHotelOrderCheckVo, MtHotelOrderJobDealVo mtHotelOrderJobDealVo, String mtDisId_index, String mtOrderId);

    Result<Object> jobNewOrderBooking(MtHotelOrderJobDealVo mtHotelOrderJobDealVo);

    Result checkPriceUpDownCommon(MtHotelOrderCheckParamVo mtHotelOrderParamVo);

    Result getMtDisOrderIdIndex(String swOrderId, String mtHotelId, Integer goodsId, String swPoolId);

    Result checkPriceUpDown(MtHotelOrderCheckVo check, Integer frontSwTotalPrice, Integer roomnum);

    Map<String,Object> notEqCheckPri(Integer frontSwTotalPrice, Integer intValue, Boolean isLoss, String isLossMsg, String errorMsg, List<MtHotelOrderCheckPricesVo> priceModelsNew, MtHotelOrderCheckVo mtHotelOrderCheckVo, Integer masterRoomnum);

    /***
     * @Author: lmf
     * @Date: 2021/5/6
     * 获取延迟单列表
     */
    Result<Object> getDealOrderList(int pageCode, int pageSize, Map map);
    /***
     * @Author: lmf
     * @Date: 2021/5/8
     * 获取延迟单数量
     */
    Result<Object> getDealOrderNum(Map map);
}
